package com.prd.service;

import com.prd.dto.WorkReportDTO;
import com.prd.model.WorkReportDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.prd.util.JsonData;

/**
 * <p>
 * 工作报告数据表 服务类
 * </p>
 *
 * @author lizhaoyi
 * @since 2023-11-06
 */
public interface WorkReportService extends IService<WorkReportDO> {

    /**
     * 添加工作日报
     * @param workReportDTO
     * @return
     */
    JsonData creatDayReport(WorkReportDTO workReportDTO);

    /**
     * 查看日报详情
     * @param id
     * @return
     */
    JsonData dayDetail(Long id);

    /**
     * 分页查询工作日报
     * @param page
     * @param size
     * @return
     */
    JsonData selectDayReportPage(int page, int size);

    /**
     *分页查询工作周报
     * @param page
     * @param size
     * @return
     */
    JsonData selectWeekReportPage(int page, int size);

    /**
     * 分页查询工作月报
     * @param page
     * @param size
     * @return
     */
    JsonData selectMonthReportPage(int page, int size);

    /**
     * 添加工作周报
     * @param workReportDTO
     * @return
     */
    JsonData creatWeekReport(WorkReportDTO workReportDTO);

    /**
     * 查看周报详情
     * @param id
     * @return
     */
    JsonData weekDetail(Long id);

    /**
     * 添加工作月报
     * @param workReportDTO
     * @return
     */
    JsonData creatMonthReport(WorkReportDTO workReportDTO);

    /**
     * 查看月报详情
     * @param id
     * @return
     */
    JsonData monthDetail(Long id);

    /**
     * 增加抄送
     * @param id
     * @param userId
     * @return
     */
    JsonData addCCTo(Long id, String userId);

    /**
     * 获取工作/任务导入列表
     * @return
     */
    JsonData getWorkOrderImportList();

    /**
     * 未达标/不合格
     * @param workReportDTO
     * @return
     */
    JsonData notStandard(WorkReportDTO workReportDTO);

    /**
     * 达标/合格
     * @param workReportDTO
     * @return
     */
    JsonData standard(WorkReportDTO workReportDTO);
}
